package com.dengyafei.bean;

import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
@Component
public class EnterpriseInfoEntityExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public EnterpriseInfoEntityExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andEidIsNull() {
            addCriterion("eid is null");
            return (Criteria) this;
        }

        public Criteria andEidIsNotNull() {
            addCriterion("eid is not null");
            return (Criteria) this;
        }

        public Criteria andEidEqualTo(Integer value) {
            addCriterion("eid =", value, "eid");
            return (Criteria) this;
        }

        public Criteria andEidNotEqualTo(Integer value) {
            addCriterion("eid <>", value, "eid");
            return (Criteria) this;
        }

        public Criteria andEidGreaterThan(Integer value) {
            addCriterion("eid >", value, "eid");
            return (Criteria) this;
        }

        public Criteria andEidGreaterThanOrEqualTo(Integer value) {
            addCriterion("eid >=", value, "eid");
            return (Criteria) this;
        }

        public Criteria andEidLessThan(Integer value) {
            addCriterion("eid <", value, "eid");
            return (Criteria) this;
        }

        public Criteria andEidLessThanOrEqualTo(Integer value) {
            addCriterion("eid <=", value, "eid");
            return (Criteria) this;
        }

        public Criteria andEidIn(List<Integer> values) {
            addCriterion("eid in", values, "eid");
            return (Criteria) this;
        }

        public Criteria andEidNotIn(List<Integer> values) {
            addCriterion("eid not in", values, "eid");
            return (Criteria) this;
        }

        public Criteria andEidBetween(Integer value1, Integer value2) {
            addCriterion("eid between", value1, value2, "eid");
            return (Criteria) this;
        }

        public Criteria andEidNotBetween(Integer value1, Integer value2) {
            addCriterion("eid not between", value1, value2, "eid");
            return (Criteria) this;
        }

        public Criteria andEnameIsNull() {
            addCriterion("ename is null");
            return (Criteria) this;
        }

        public Criteria andEnameIsNotNull() {
            addCriterion("ename is not null");
            return (Criteria) this;
        }

        public Criteria andEnameEqualTo(String value) {
            addCriterion("ename =", value, "ename");
            return (Criteria) this;
        }

        public Criteria andEnameNotEqualTo(String value) {
            addCriterion("ename <>", value, "ename");
            return (Criteria) this;
        }

        public Criteria andEnameGreaterThan(String value) {
            addCriterion("ename >", value, "ename");
            return (Criteria) this;
        }

        public Criteria andEnameGreaterThanOrEqualTo(String value) {
            addCriterion("ename >=", value, "ename");
            return (Criteria) this;
        }

        public Criteria andEnameLessThan(String value) {
            addCriterion("ename <", value, "ename");
            return (Criteria) this;
        }

        public Criteria andEnameLessThanOrEqualTo(String value) {
            addCriterion("ename <=", value, "ename");
            return (Criteria) this;
        }

        public Criteria andEnameLike(String value) {
            addCriterion("ename like", value, "ename");
            return (Criteria) this;
        }

        public Criteria andEnameNotLike(String value) {
            addCriterion("ename not like", value, "ename");
            return (Criteria) this;
        }

        public Criteria andEnameIn(List<String> values) {
            addCriterion("ename in", values, "ename");
            return (Criteria) this;
        }

        public Criteria andEnameNotIn(List<String> values) {
            addCriterion("ename not in", values, "ename");
            return (Criteria) this;
        }

        public Criteria andEnameBetween(String value1, String value2) {
            addCriterion("ename between", value1, value2, "ename");
            return (Criteria) this;
        }

        public Criteria andEnameNotBetween(String value1, String value2) {
            addCriterion("ename not between", value1, value2, "ename");
            return (Criteria) this;
        }

        public Criteria andFounderIsNull() {
            addCriterion("founder is null");
            return (Criteria) this;
        }

        public Criteria andFounderIsNotNull() {
            addCriterion("founder is not null");
            return (Criteria) this;
        }

        public Criteria andFounderEqualTo(String value) {
            addCriterion("founder =", value, "founder");
            return (Criteria) this;
        }

        public Criteria andFounderNotEqualTo(String value) {
            addCriterion("founder <>", value, "founder");
            return (Criteria) this;
        }

        public Criteria andFounderGreaterThan(String value) {
            addCriterion("founder >", value, "founder");
            return (Criteria) this;
        }

        public Criteria andFounderGreaterThanOrEqualTo(String value) {
            addCriterion("founder >=", value, "founder");
            return (Criteria) this;
        }

        public Criteria andFounderLessThan(String value) {
            addCriterion("founder <", value, "founder");
            return (Criteria) this;
        }

        public Criteria andFounderLessThanOrEqualTo(String value) {
            addCriterion("founder <=", value, "founder");
            return (Criteria) this;
        }

        public Criteria andFounderLike(String value) {
            addCriterion("founder like", value, "founder");
            return (Criteria) this;
        }

        public Criteria andFounderNotLike(String value) {
            addCriterion("founder not like", value, "founder");
            return (Criteria) this;
        }

        public Criteria andFounderIn(List<String> values) {
            addCriterion("founder in", values, "founder");
            return (Criteria) this;
        }

        public Criteria andFounderNotIn(List<String> values) {
            addCriterion("founder not in", values, "founder");
            return (Criteria) this;
        }

        public Criteria andFounderBetween(String value1, String value2) {
            addCriterion("founder between", value1, value2, "founder");
            return (Criteria) this;
        }

        public Criteria andFounderNotBetween(String value1, String value2) {
            addCriterion("founder not between", value1, value2, "founder");
            return (Criteria) this;
        }

        public Criteria andEnumbersIsNull() {
            addCriterion("enumbers is null");
            return (Criteria) this;
        }

        public Criteria andEnumbersIsNotNull() {
            addCriterion("enumbers is not null");
            return (Criteria) this;
        }

        public Criteria andEnumbersEqualTo(Integer value) {
            addCriterion("enumbers =", value, "enumbers");
            return (Criteria) this;
        }

        public Criteria andEnumbersNotEqualTo(Integer value) {
            addCriterion("enumbers <>", value, "enumbers");
            return (Criteria) this;
        }

        public Criteria andEnumbersGreaterThan(Integer value) {
            addCriterion("enumbers >", value, "enumbers");
            return (Criteria) this;
        }

        public Criteria andEnumbersGreaterThanOrEqualTo(Integer value) {
            addCriterion("enumbers >=", value, "enumbers");
            return (Criteria) this;
        }

        public Criteria andEnumbersLessThan(Integer value) {
            addCriterion("enumbers <", value, "enumbers");
            return (Criteria) this;
        }

        public Criteria andEnumbersLessThanOrEqualTo(Integer value) {
            addCriterion("enumbers <=", value, "enumbers");
            return (Criteria) this;
        }

        public Criteria andEnumbersIn(List<Integer> values) {
            addCriterion("enumbers in", values, "enumbers");
            return (Criteria) this;
        }

        public Criteria andEnumbersNotIn(List<Integer> values) {
            addCriterion("enumbers not in", values, "enumbers");
            return (Criteria) this;
        }

        public Criteria andEnumbersBetween(Integer value1, Integer value2) {
            addCriterion("enumbers between", value1, value2, "enumbers");
            return (Criteria) this;
        }

        public Criteria andEnumbersNotBetween(Integer value1, Integer value2) {
            addCriterion("enumbers not between", value1, value2, "enumbers");
            return (Criteria) this;
        }

        public Criteria andEdescIsNull() {
            addCriterion("edesc is null");
            return (Criteria) this;
        }

        public Criteria andEdescIsNotNull() {
            addCriterion("edesc is not null");
            return (Criteria) this;
        }

        public Criteria andEdescEqualTo(String value) {
            addCriterion("edesc =", value, "edesc");
            return (Criteria) this;
        }

        public Criteria andEdescNotEqualTo(String value) {
            addCriterion("edesc <>", value, "edesc");
            return (Criteria) this;
        }

        public Criteria andEdescGreaterThan(String value) {
            addCriterion("edesc >", value, "edesc");
            return (Criteria) this;
        }

        public Criteria andEdescGreaterThanOrEqualTo(String value) {
            addCriterion("edesc >=", value, "edesc");
            return (Criteria) this;
        }

        public Criteria andEdescLessThan(String value) {
            addCriterion("edesc <", value, "edesc");
            return (Criteria) this;
        }

        public Criteria andEdescLessThanOrEqualTo(String value) {
            addCriterion("edesc <=", value, "edesc");
            return (Criteria) this;
        }

        public Criteria andEdescLike(String value) {
            addCriterion("edesc like", value, "edesc");
            return (Criteria) this;
        }

        public Criteria andEdescNotLike(String value) {
            addCriterion("edesc not like", value, "edesc");
            return (Criteria) this;
        }

        public Criteria andEdescIn(List<String> values) {
            addCriterion("edesc in", values, "edesc");
            return (Criteria) this;
        }

        public Criteria andEdescNotIn(List<String> values) {
            addCriterion("edesc not in", values, "edesc");
            return (Criteria) this;
        }

        public Criteria andEdescBetween(String value1, String value2) {
            addCriterion("edesc between", value1, value2, "edesc");
            return (Criteria) this;
        }

        public Criteria andEdescNotBetween(String value1, String value2) {
            addCriterion("edesc not between", value1, value2, "edesc");
            return (Criteria) this;
        }

        public Criteria andFonderageIsNull() {
            addCriterion("fonderage is null");
            return (Criteria) this;
        }

        public Criteria andFonderageIsNotNull() {
            addCriterion("fonderage is not null");
            return (Criteria) this;
        }

        public Criteria andFonderageEqualTo(Integer value) {
            addCriterion("fonderage =", value, "fonderage");
            return (Criteria) this;
        }

        public Criteria andFonderageNotEqualTo(Integer value) {
            addCriterion("fonderage <>", value, "fonderage");
            return (Criteria) this;
        }

        public Criteria andFonderageGreaterThan(Integer value) {
            addCriterion("fonderage >", value, "fonderage");
            return (Criteria) this;
        }

        public Criteria andFonderageGreaterThanOrEqualTo(Integer value) {
            addCriterion("fonderage >=", value, "fonderage");
            return (Criteria) this;
        }

        public Criteria andFonderageLessThan(Integer value) {
            addCriterion("fonderage <", value, "fonderage");
            return (Criteria) this;
        }

        public Criteria andFonderageLessThanOrEqualTo(Integer value) {
            addCriterion("fonderage <=", value, "fonderage");
            return (Criteria) this;
        }

        public Criteria andFonderageIn(List<Integer> values) {
            addCriterion("fonderage in", values, "fonderage");
            return (Criteria) this;
        }

        public Criteria andFonderageNotIn(List<Integer> values) {
            addCriterion("fonderage not in", values, "fonderage");
            return (Criteria) this;
        }

        public Criteria andFonderageBetween(Integer value1, Integer value2) {
            addCriterion("fonderage between", value1, value2, "fonderage");
            return (Criteria) this;
        }

        public Criteria andFonderageNotBetween(Integer value1, Integer value2) {
            addCriterion("fonderage not between", value1, value2, "fonderage");
            return (Criteria) this;
        }

        public Criteria andEaddressIsNull() {
            addCriterion("eaddress is null");
            return (Criteria) this;
        }

        public Criteria andEaddressIsNotNull() {
            addCriterion("eaddress is not null");
            return (Criteria) this;
        }

        public Criteria andEaddressEqualTo(String value) {
            addCriterion("eaddress =", value, "eaddress");
            return (Criteria) this;
        }

        public Criteria andEaddressNotEqualTo(String value) {
            addCriterion("eaddress <>", value, "eaddress");
            return (Criteria) this;
        }

        public Criteria andEaddressGreaterThan(String value) {
            addCriterion("eaddress >", value, "eaddress");
            return (Criteria) this;
        }

        public Criteria andEaddressGreaterThanOrEqualTo(String value) {
            addCriterion("eaddress >=", value, "eaddress");
            return (Criteria) this;
        }

        public Criteria andEaddressLessThan(String value) {
            addCriterion("eaddress <", value, "eaddress");
            return (Criteria) this;
        }

        public Criteria andEaddressLessThanOrEqualTo(String value) {
            addCriterion("eaddress <=", value, "eaddress");
            return (Criteria) this;
        }

        public Criteria andEaddressLike(String value) {
            addCriterion("eaddress like", value, "eaddress");
            return (Criteria) this;
        }

        public Criteria andEaddressNotLike(String value) {
            addCriterion("eaddress not like", value, "eaddress");
            return (Criteria) this;
        }

        public Criteria andEaddressIn(List<String> values) {
            addCriterion("eaddress in", values, "eaddress");
            return (Criteria) this;
        }

        public Criteria andEaddressNotIn(List<String> values) {
            addCriterion("eaddress not in", values, "eaddress");
            return (Criteria) this;
        }

        public Criteria andEaddressBetween(String value1, String value2) {
            addCriterion("eaddress between", value1, value2, "eaddress");
            return (Criteria) this;
        }

        public Criteria andEaddressNotBetween(String value1, String value2) {
            addCriterion("eaddress not between", value1, value2, "eaddress");
            return (Criteria) this;
        }

        public Criteria andBuildtimeIsNull() {
            addCriterion("buildtime is null");
            return (Criteria) this;
        }

        public Criteria andBuildtimeIsNotNull() {
            addCriterion("buildtime is not null");
            return (Criteria) this;
        }

        public Criteria andBuildtimeEqualTo(Date value) {
            addCriterionForJDBCDate("buildtime =", value, "buildtime");
            return (Criteria) this;
        }

        public Criteria andBuildtimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("buildtime <>", value, "buildtime");
            return (Criteria) this;
        }

        public Criteria andBuildtimeGreaterThan(Date value) {
            addCriterionForJDBCDate("buildtime >", value, "buildtime");
            return (Criteria) this;
        }

        public Criteria andBuildtimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("buildtime >=", value, "buildtime");
            return (Criteria) this;
        }

        public Criteria andBuildtimeLessThan(Date value) {
            addCriterionForJDBCDate("buildtime <", value, "buildtime");
            return (Criteria) this;
        }

        public Criteria andBuildtimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("buildtime <=", value, "buildtime");
            return (Criteria) this;
        }

        public Criteria andBuildtimeIn(List<Date> values) {
            addCriterionForJDBCDate("buildtime in", values, "buildtime");
            return (Criteria) this;
        }

        public Criteria andBuildtimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("buildtime not in", values, "buildtime");
            return (Criteria) this;
        }

        public Criteria andBuildtimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("buildtime between", value1, value2, "buildtime");
            return (Criteria) this;
        }

        public Criteria andBuildtimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("buildtime not between", value1, value2, "buildtime");
            return (Criteria) this;
        }

        public Criteria andEclassIsNull() {
            addCriterion("eclass is null");
            return (Criteria) this;
        }

        public Criteria andEclassIsNotNull() {
            addCriterion("eclass is not null");
            return (Criteria) this;
        }

        public Criteria andEclassEqualTo(String value) {
            addCriterion("eclass =", value, "eclass");
            return (Criteria) this;
        }

        public Criteria andEclassNotEqualTo(String value) {
            addCriterion("eclass <>", value, "eclass");
            return (Criteria) this;
        }

        public Criteria andEclassGreaterThan(String value) {
            addCriterion("eclass >", value, "eclass");
            return (Criteria) this;
        }

        public Criteria andEclassGreaterThanOrEqualTo(String value) {
            addCriterion("eclass >=", value, "eclass");
            return (Criteria) this;
        }

        public Criteria andEclassLessThan(String value) {
            addCriterion("eclass <", value, "eclass");
            return (Criteria) this;
        }

        public Criteria andEclassLessThanOrEqualTo(String value) {
            addCriterion("eclass <=", value, "eclass");
            return (Criteria) this;
        }

        public Criteria andEclassLike(String value) {
            addCriterion("eclass like", value, "eclass");
            return (Criteria) this;
        }

        public Criteria andEclassNotLike(String value) {
            addCriterion("eclass not like", value, "eclass");
            return (Criteria) this;
        }

        public Criteria andEclassIn(List<String> values) {
            addCriterion("eclass in", values, "eclass");
            return (Criteria) this;
        }

        public Criteria andEclassNotIn(List<String> values) {
            addCriterion("eclass not in", values, "eclass");
            return (Criteria) this;
        }

        public Criteria andEclassBetween(String value1, String value2) {
            addCriterion("eclass between", value1, value2, "eclass");
            return (Criteria) this;
        }

        public Criteria andEclassNotBetween(String value1, String value2) {
            addCriterion("eclass not between", value1, value2, "eclass");
            return (Criteria) this;
        }

        public Criteria andCorporatecultureIsNull() {
            addCriterion("corporateculture is null");
            return (Criteria) this;
        }

        public Criteria andCorporatecultureIsNotNull() {
            addCriterion("corporateculture is not null");
            return (Criteria) this;
        }

        public Criteria andCorporatecultureEqualTo(String value) {
            addCriterion("corporateculture =", value, "corporateculture");
            return (Criteria) this;
        }

        public Criteria andCorporatecultureNotEqualTo(String value) {
            addCriterion("corporateculture <>", value, "corporateculture");
            return (Criteria) this;
        }

        public Criteria andCorporatecultureGreaterThan(String value) {
            addCriterion("corporateculture >", value, "corporateculture");
            return (Criteria) this;
        }

        public Criteria andCorporatecultureGreaterThanOrEqualTo(String value) {
            addCriterion("corporateculture >=", value, "corporateculture");
            return (Criteria) this;
        }

        public Criteria andCorporatecultureLessThan(String value) {
            addCriterion("corporateculture <", value, "corporateculture");
            return (Criteria) this;
        }

        public Criteria andCorporatecultureLessThanOrEqualTo(String value) {
            addCriterion("corporateculture <=", value, "corporateculture");
            return (Criteria) this;
        }

        public Criteria andCorporatecultureLike(String value) {
            addCriterion("corporateculture like", value, "corporateculture");
            return (Criteria) this;
        }

        public Criteria andCorporatecultureNotLike(String value) {
            addCriterion("corporateculture not like", value, "corporateculture");
            return (Criteria) this;
        }

        public Criteria andCorporatecultureIn(List<String> values) {
            addCriterion("corporateculture in", values, "corporateculture");
            return (Criteria) this;
        }

        public Criteria andCorporatecultureNotIn(List<String> values) {
            addCriterion("corporateculture not in", values, "corporateculture");
            return (Criteria) this;
        }

        public Criteria andCorporatecultureBetween(String value1, String value2) {
            addCriterion("corporateculture between", value1, value2, "corporateculture");
            return (Criteria) this;
        }

        public Criteria andCorporatecultureNotBetween(String value1, String value2) {
            addCriterion("corporateculture not between", value1, value2, "corporateculture");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}